﻿//post页面
var _AjaxTablePostPage="<%= _AjaxTablePostPage %>";
//数据库表名
var _AjaxTableName="<%= _AjaxTableName %>";
//数据库主键
var _AjaxTableKey="<%= _AjaxTableKey %>";
//数据库中字段
var _AjaxFiledsStr="<%= _AjaxFiledsStr %>";
//字段相对的中文名称
var _AjaxFiledsStrCN="<%= _AjaxFiledsStrCN %>";
//转换类型字段
var _AjaxConvertFiled="<%= _AjaxConvertFiled %>";
//转换字段值和名称数据
var _AjaxConvertInfo="<%= _AjaxConvertInfo %>";
//查询条件(只写where后面的语句)
var _AjaxSelectWhere="<%= _AjaxSelectWhere %>";
//是否编辑
var _AjaxIsEdit="<%= _AjaxIsEdit %>"=="True"?true:false;
//是否删除
var _AjaxIsDel="<%= _AjaxIsDel %>"=="True"?true:false;
//是否分页
var _AjaxIsPage="<%= _AjaxIsPage %>"=="True"?true:false;
//是否排序
var _AjaxIsSort="<%= _AjaxIsSort %>"=="True"?true:false;
//是否全选列
var _AjaxAllSelect="<%= _AjaxAllSelect %>"=="True"?true:false;
//是否添加自定列
var _AjaxCustomColumn="<%= _AjaxCustomColumn %>"=="True"?true:false;
//要添加自定义列的中文字段
var _AjaxCustomColumnCN="<%= _AjaxCustomColumnCN %>";

//页大小
var _AjaxPageSize=<%= _AjaxPageSize %>;
//当前页信息数组
var _DQPageInfoArray=new Array();
//当前页数
var _DQPageNum=new Number(1);
//总共页数
var _DQPageAllNum=new Number(1);
//这下面的都是系统的。用户不可以改
//判断当前排序的JS文件是否加载
var _TableSorteJSIsLoad=false;

//页开始要运行的
$(document).ready(function(){
    //当要排序的时候加载JS文件
    if(_AjaxIsSort)
    {
        $.getScript("JavaScript/tablesorter.js",function(){
            _TableSorteJSIsLoad=true;
        });
    }
    _DownPageAllPageNum();
    _DownDQPageInfoArray();
});
//得到当前表有多少页
function _DownPageAllPageNum()
{
    $.post(_AjaxTablePostPage,{_type:"_DownPageAllPageNum",_TableName:_AjaxTableName,_TableKey:_AjaxTableKey,_SelectWhere:_AjaxSelectWhere,_PageSize:_AjaxPageSize},function(data){
        _DQPageAllNum=data;
        $("#AllPageNum_A").text(_DQPageAllNum);
        var GoToPage_Select_html="";
        for(var i=1;i<=_DQPageAllNum;i++)
        {
            GoToPage_Select_html+="<option value=\""+i.toString()+"\">"+i.toString()+"</option>";
        }
        $("#GoToPage_Select").html(GoToPage_Select_html);
    });
}
//得到页信息
function _DownDQPageInfoArray()
{
    $("#msg_span").text(_DQPageNum);
    if(!_AjaxIsPage)
    {
        $("#AjaxTablePage_Div").hide();
        $.ajax({
            url:_AjaxTablePostPage,
            type:"POST",
            dataType:"json",
            data:{_type:"_DownDQPageInfoArray_all",_TableName:_AjaxTableName,_FiledsStr:_AjaxFiledsStr,_SelectWhere:_AjaxSelectWhere},
            success:function(data){
                _DQPageInfoArray=data;
            
                //绑定页数据
                _BindPageInfo();
            }
        });
        
    }else
    {
        $.ajax({
            url:_AjaxTablePostPage,
            type:"POST",
            dataType:"json",
            data:{_type:"_DownDQPageInfoArray",_TableName:_AjaxTableName,_TableKey:_AjaxTableKey,_FiledsStr:_AjaxFiledsStr,_SelectWhere:_AjaxSelectWhere,_PageSize:_AjaxPageSize,_PageNum:_DQPageNum},
            success:function(data){
                _DQPageInfoArray=data;
            
                //绑定页数据
                _BindPageInfo();
            }
        });
    }
}
//绑定页信息
function _BindPageInfo()
{
    var _TableHeadArray=_AjaxFiledsStrCN.split(",");
    var _TableBodyArray=_AjaxFiledsStr.split(",");
    var _ConvertFArray=_AjaxConvertFiled.split(",");
    var _ConvertIArray=_AjaxConvertInfo.split(",");
    
    var _htmlStr="<table border=\"1\" cellpadding=\"0\" cellspacing=\"0\" id=\"AjaxTable_Table\">";
    //添加表头
    _htmlStr+="<thead><tr>";
    
    //是否可以全选
    if(_AjaxAllSelect)
    {
        _htmlStr+="<th><input id=\"TableRow_AllSelect_checkbox\" type=\"checkbox\" title=\"全选\" onclick=\"TableRow_AllSelect_checkboxClick()\" /></th>";
    }
    
    for(var i=0;i<_TableHeadArray.length;i++)
    {
        _htmlStr+="<th>"+_TableHeadArray[i]+"</th>";
    }
    
    //是否可以编辑
    if(_AjaxIsEdit)
    {
        _htmlStr+="<th><a>编辑</a></th>";
    }
    
    //是否可以删除
    if(_AjaxIsDel)
    {
        _htmlStr+="<th><a>删除</a></th>";
    }
    
    //是否自定义列
    if(_AjaxCustomColumn)
    {
        _htmlStr+="<th>"+_AjaxCustomColumnCN+"</th>";
    }
    
    _htmlStr+="</tr></thead>";
    
    //添加表身
    _htmlStr+="<tbody>";
    for(var i=0;i<_DQPageInfoArray.TableInfo.length;i++)
    {
        _htmlStr+="<tr>"; // onmouseover='javascript:this.style.backgroundColor=\"#c4efff\";' onmouseout='javascript:this.style.backgroundColor=\"#e8f9ff\";'
        
        //是否可以选择
        if(_AjaxAllSelect)
        {
            _htmlStr+="<td><input type=\"checkbox\" name=\"TableRow_Select_checkbox\" keyVal=\""+_DQPageInfoArray.TableInfo[i][_AjaxTableKey]+"\" /></td>";
        }
        
        for(var j=0;j<_TableBodyArray.length;j++)
        {
            var FiledStr=_TableBodyArray[j];
            var _tdStr=_DQPageInfoArray.TableInfo[i][FiledStr];//_DQPageInfoArray.TableInfo[i][_TableBodyArray[j]]
            for(var k=0;k<_ConvertFArray.length;k++)
            {
                if(_ConvertFArray[k]==FiledStr)
                {
                    var _ConvertIStr=_ConvertIArray[k].split("|");
                    for(var h=0;h<_ConvertIStr.length;h=h+2)
                    {
                        if(_tdStr==_ConvertIStr[h])
                        {
                            _tdStr=_ConvertIStr[h+1];
                            break;
                        }
                    }
                }
            }
            _htmlStr+="<td>"+_tdStr+"</td>";
        }
        
        //是否可编辑
        if(_AjaxIsEdit)
        {
            _htmlStr+="<td><a onclick=\"DataRowEditClick('"+_AjaxTableName+"','"+_DQPageInfoArray.TableInfo[i][_AjaxTableKey]+"')\">编辑</a></td>";
        }
        
        //是否可删除
        if(_AjaxIsDel)
        {
            _htmlStr+="<td><a onclick=\"_DataRowDelClick('"+_DQPageInfoArray.TableInfo[i][_AjaxTableKey]+"')\">删除</a></td>";
        }
        
        //是否自定义列
        if(_AjaxCustomColumn)
        {
            _htmlStr+="<td><a onclick=\"CustomColumnClick('"+_AjaxTableName+"','"+_DQPageInfoArray.TableInfo[i][_AjaxTableKey]+"')\">"+_AjaxCustomColumnCN+"</a></td>";
        }
        
        _htmlStr+="</tr>";
    }
    _htmlStr+="</tbody></table>";
    
    //把数据绑定到页
    $("#AjaxTableShow_Div").html(_htmlStr);
    //是否排序
    if(_AjaxIsSort && _AjaxAllSelect && _TableSorteJSIsLoad)
    {
        $("#AjaxTable_Table").tablesorter({headers:{0:{sorter:false}}});
    }else if(_AjaxIsSort && _TableSorteJSIsLoad)
    {
        $("#AjaxTable_Table").tablesorter();
    }
    //导航的显示
    AjaxTablePage_DivChange();
}
//首页
function FirstPage_SpanClick()
{
    if(_DQPageNum==1)
    {
        return;
    }
    _DQPageNum=1;
    _DownDQPageInfoArray();
}
//上一页
function UpPage_SpanClick()
{
    if(_DQPageNum==1)
    {
        return;
    }
    _DQPageNum=_DQPageNum-1;
    _DownDQPageInfoArray();
}
//下一页
function NextPage_SpanClick()
{
    if(_DQPageNum==_DQPageAllNum)
    {
        return;
    }
    _DQPageNum=parseInt(_DQPageNum)+parseInt(1);
    _DownDQPageInfoArray();
}
//未页
function EndPage_SpanClick()
{
    if(_DQPageNum==_DQPageAllNum)
    {
        return;
    }
    _DQPageNum=_DQPageAllNum;
    _DownDQPageInfoArray();
}
//跳到第几页
function GoToPage_SelectChange()
{
    _DQPageNum=$("#GoToPage_Select").val();
    _DownDQPageInfoArray();
}
//控制分页导航的显示
function AjaxTablePage_DivChange()
{
    $("#PageNum_A").text(_DQPageNum);
    $("#GoToPage_Select").val(_DQPageNum);
}
//全选
function TableRow_AllSelect_checkboxClick()
{
    var IsSelect=document.getElementById("TableRow_AllSelect_checkbox").checked?true:false;
    if(IsSelect)
    {
        $("#AjaxTable_Table input[type='checkbox'][name='TableRow_Select_checkbox']").attr("checked",true);
    }else
    {
        $("#AjaxTable_Table input[type='checkbox'][name='TableRow_Select_checkbox']").attr("checked",false);
    }
}
//返回选择了哪些行
function CheckBoxSelectKeyStr()
{
    var KeyStr="";
    $("#AjaxTable_Table tbody input:checked").each(function(){
        KeyStr+=$(this).attr("keyVal")+",";
    });
    KeyStr=KeyStr.substring(0,KeyStr.length-1);
    return KeyStr;
}
//删除数据行
function _DataRowDelClick(Val)
{
    if(confirm("确认是否删除此数据?"))
    {
        $.post(_AjaxTablePostPage,{_type:"_DataRowDel",_TableName:_AjaxTableName,_TableKey:_AjaxTableKey,_TableKeyVal:Val,_SelectWhere:_AjaxSelectWhere},function(data){
            if(data=="true")
            {
                $("#AjaxTable_Table tbody input[type='checkbox'][name='TableRow_Select_checkbox'][keyVal='"+Val+"']").parent().parent().hide();
                //重新加载一下页数
                _DownPageAllPageNum();
            }
        });
    }
}